package br.usp.icmc.biomac.client.view;

import java.util.List;

import br.usp.icmc.biomac.shared.ROI;
import br.usp.icmc.dilvan.aimTemplateViewer.client.aimTemplate.TemplateAIMTemplate;
import br.usp.icmc.dilvan.aimTemplateViewer.client.aimTemplate.TemplateContainerAIMTemplate;

import com.google.gwt.place.shared.Place;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.TabLayoutPanel;

/**
 * View interface. Extends IsWidget so a view impl can easily provide its
 * container widget.
 * 
 * @author dilvan
 */

public interface ImageAnnotation extends IsWidget {

	public interface Presenter {
		
		void goTo(Place place);

		void setROIs();

		void getTemplateContainer();

		void getTemplates(String container);

		void getTemplate(String container, String template);
	
	}

	void setPresenter(Presenter listener);

	void setTemplatesContainers(List<TemplateContainerAIMTemplate> containers);

	void setTemplates(List<TemplateAIMTemplate> templates);

	void createForm(TemplateAIMTemplate template);

	TabLayoutPanel getTabs();
	
	void setROI(ROI roi);
	
	void showAnnotation();
	
	ROIAnnotationCellTable getROIAnnotationCellTable();

	void updateTemplatesContainers();
}
